package com.neu.wangweili.service;

import com.neu.commons.Utils.Cover;
import com.neu.wangweili.dao.StuBatchDao;
import com.neu.wangweili.dao.StuInfoDao;
import com.neu.wangweili.dao.W_StuInfoGenerateDao;

import java.util.List;
import java.util.Map;

public class W_StuService {
    public StuInfoDao stuInfoDao =null;
    public W_StuService(){
        stuInfoDao =new StuInfoDao();
    }
    public Map<String,Object> login(Object...obj){
        List<Map<String,Object>>list=null;
        list= stuInfoDao.StuLogin(obj);
        Map<String,Object>map=null;
        if (list!=null){

           map= list.get(0);
        }
        System.out.println("2"+list);
        System.out.println("3"+map);
        return map;
    }
//    按学号或姓名查找
    public List<Map<String,Object>>findByIdOrNo(Object...obj){
        List<Map<String,Object>> list=null;
        list=stuInfoDao.findByNameOrNo(obj);
        return list;
    }
//    从学生表中按照id查找
    public Map<String,Object> findById(String stu_id){
        Map<String,Object> map=null;
        List<Map<String,Object>>list=stuInfoDao.findById(stu_id);


        if(list.size()>0){
            map=list.get(0);
        }
        System.out.println("map为"+map);
        return map;
    }
//    单个删除
    public int delete(Object...params){
        int row=0;
        row=stuInfoDao.delete(params);
        return row;
    }
//    单个任命学生会
    public int appoint(Object...params){
        int row=0;
        row=stuInfoDao.appointStu(params);
        return row;

    }
//    批量删除
    public int deleteBatch(String[]stu_id){
        int[] row=null;
        int sum=0;
        StuBatchDao stuBatchDao=new StuBatchDao();
        row=stuBatchDao.deleteStu(stu_id);
        for (int i = 0; i < row.length; i++) {
            sum+=row[i];
        }
        return sum;
    }
//    批量任命学生会
public int appointBatch(String stu_statis,String[]stu_id){
    int[] row=null;
    int sum=0;
    StuBatchDao stuBatchDao=new StuBatchDao();
    row=stuBatchDao.appointStu(stu_statis,stu_id);
        for (int i = 0; i < row.length; i++) {
            sum+=row[i];
        }
        sum=sum/(-2);
    return sum;
}
//    获取尾页
    public String getPageNum(int pageCount){
        String n="0";
        List<Map<String,Object>>list=stuInfoDao.findPageNum(pageCount);
        if (list.size()>0){
            Object o=  list.get(0).get("a");
            n=o.toString();
        }
        return n;
    }
//    找到每页的数据
    public List<Map<String,Object>> findByPage(String pageIndex,int pageCount){
        List<Map<String,Object>> list=null;
        list=stuInfoDao.findByPage(Integer.parseInt(pageIndex),pageCount);
        return list;
    }
//修改学生信息,用generate
    public int updateStu(Map<String,String[]>item){
        int row=0;
        Map<String,String>map=Cover.CoverToMap(item);
//        把d_id删除,因为他不是表中的列
        map.remove("d_id");
        W_StuInfoGenerateDao w_stuInfoGenerateDao=new W_StuInfoGenerateDao();
        row=w_stuInfoGenerateDao.update(map);
        return row;
    }
//    添加学生,用generate
    public int insert(Map<String,String[]>params){
        int row=0;
        Map<String,String> map=Cover.CoverToMap(params);
        W_StuInfoGenerateDao w_stuInfoGenerateDao=new W_StuInfoGenerateDao();
        row=w_stuInfoGenerateDao.insert(map);
        return row;

    }
}
